﻿using System;
using System.Collections.Generic;

using System.Text;

namespace Corsat.Library
{


    public class AbsenceReportView
    {
        public string AccountId { get; set; }
        public string AccountSerialInCourse { get; set; }
        public string CorsatId { get; set; }
        public string ArabicName { get; set; }
        public string Att_1 { get; set; }
        public string Att_2 { get; set; }
        public string Att_3 { get; set; }
        public string Att_4 { get; set; }
        public string Att_5 { get; set; }
        public string Att_6 { get; set; }
        public string Att_7 { get; set; }
        public List<AbsenceReportView> Get()
        {
            return new List<AbsenceReportView>();
        }
    }
    public struct Item
    {
        public int Id { get; set; }
        public string Value { get; set; }

        public override string ToString()
        {
            return Value;
        }
    }

    public struct ChosenCourse
    {
        public string CourseFullName { get; set; }
        public int CourseTitleId;
        public int CourseLevelId;
        public int DayId;
    }

    public struct Telephone
    {
        public Item Type { get; set; }
        public string Number { get; set; }
        public bool IsDefault { get; set; }
    }

    public struct AccountCourse
    {
        public int CourseId { get; set; }
        public Item CourseTitle { get; set; }
        public Item CourseLevel { get; set; }
        public Item Day { get; set; }
        public int? AccountSerialInCourse { get; set; }
        public float Result { get; set; }
        public Item Grade { get; set; }
        public bool IsLate { get; set; }
        public bool Att_1 { get; set; }
        public bool Att_2 { get; set; }
        public bool Att_3 { get; set; }
        public bool Att_4 { get; set; }
        public bool Att_5 { get; set; }
        public bool Att_6 { get; set; }
        public bool Att_7 { get; set; }
        public string FullName
        {
            get
            {
                var CourseName = "";

                CourseName += CourseTitle.Value;

                if (CourseLevel.Id != 0)
                    CourseName += " - " + CourseLevel.Value;

                if (AccountSerialInCourse.HasValue)
                    CourseName += " ( " + AccountSerialInCourse.ToString() + " ) ";

                return CourseName;
            }
        }
    }

    public struct CourseInReports
    {
        public int CourseId { get; set; }
        public string CourseName { get; set; }
        public List<Item> Levels { get; set; }
    }

    public struct TechnologyCourseReservation
    {
        public Item Account { get; set; }
        public DateTime ExamDate { get; set; }
        public Item Course { get; set; }
        public char Lab { get; set; }
        public int Period { get; set; }
    }

    public struct SmallAccount
    {
        public Item Account { get; set; }
        public int CorsatId { get; set; }
    }

    public struct AccountTechnologyCourse
    {
        
        public DateTime ExamDate { get; set; }
        public Item Course { get; set; }
        public char Lab { get; set; }
        public int Period { get; set; }
        public DateTime ReservationDate { get; set; }
        public float Result { get; set; }
        public Item Grade { get; set; }
    }

}
